package com.zb.spring5.ioc.entity;

import org.springframework.beans.factory.BeanNameAware;

/**
 * 命名包装bean  setBeanName被调用在 通过调用ApplicationContext.getBean() 返回给应用的bean的第一次实例化之前
 * 所以不需要检查bean的name属性是否在sing()方法中可用
 * 把默认的bean name通过setBeanName 注入
 * 应用案例 可以用在日志里面获取bean的名字
 */
public class NamedSinger implements BeanNameAware {


    private String name;
    @Override
    public void setBeanName(String beanName) {
        this.name = beanName;
    }
    public  void sing(){
        System.out.println("Singer "+name+ "- sing()");
    }
}
